home *** CD-ROM | disk | FTP | other *** search
- *****Listing 1*****
-
-
-
- #!/usr/local/bin/perl
- eval "exec /usr/local/bin/perl -S $0 $*"
- if $running_via_sh;
- # A cute Berkeley style df formatter for those running USG df
- # Do what you want with it; it's yours.
- # R. Craig Peterson, N8INO
- $fs=join(' ',@ARGV);
- open(Df, "df -t $fs|") || die "Can't run df.";
-
- format top =
- Filesystem kbytes used avail capacity iused ifree %iused Device
- format STDOUT =
- @<<<<<<<<<<<<<< @>>>>>> @>>>>>> @>>>>> @>% @>>>>> @>>>>> @>% @<<<<<<<<<<<<<<
- $fs $kbytes $used $avail $capacity $iused $inodes $piused $name
-
- while (<Df>) {
- if (/total blocks/) {
- ($d,$tblocks,$d,$d,$tinodes,$d) = split(' ');
- $tinodes *= 8;
- $kbytes = $tblocks / 2;
- $used = ($tblocks - $blocks) / 2;
- $avail = $blocks / 2;
- $capacity = int(100 - ($blocks / $tblocks * 100));
- $iused = $tinodes - $inodes;
- $piused = int($iused / $tinodes * 100);
- write;
- $tot_kbytes += $kbytes;
- $tot_used += $used;
- $tot_avail += $avail;
- $tot_iused += $iused;
- $tot_inodes += $inodes;
- $tot_tinodes += $tinodes;
- } else {
- s/\(\s*/ \(/;
- s/\s*\)/\)/;
- ($fs,$name,$blocks,$d,$inodes,$d) = split;
- $name =~ s![(): \t]|/dev/dsk/!!g;
- }
- }
- if ($#ARGV < 0) {
- $kbytes = $tot_kbytes;
- $used = $tot_used;
- $avail = $tot_avail;
- $capacity = int(100 - ($avail / $kbytes * 100));
- $iused = $tot_iused;
- $inodes = $tot_inodes;
- $tinodes = $tot_tinodes;
- $piused = int($iused / $tinodes * 100);
- $fs = 'Totals:';
- $name = '';
- write;
- }
-
-